package com.ilink.dataanalysis.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ilink.dataanalysis.entity.VO.statistics.EnrollmentStatistics;
import com.ilink.dataanalysis.entity.VO.MajorInfo;
import com.ilink.dataanalysis.entity.VO.mapdata.MapData;
import com.ilink.dataanalysis.entity.VO.statistics.UserStatistics;
import com.ilink.dataanalysis.entity.VO.rankings.Rankings;
import com.ilink.ilinkcommon.domain.User;
import java.time.LocalDate;
import java.util.List;

public interface TbUserService extends IService<User> {
    int getDifferentSchoolCount();  //获取已覆盖学校
    int getDifferentMajorCount();  //获取已覆盖专业
    int getStudentCount();  //获取用户总数
    Rankings getResourceAccessTime();  //获取平台资源访问情况
    EnrollmentStatistics getEnrollmentStatistics();  //获取不同年级及数量
    MapData getSchoolAndItsStudent();  //获取已覆盖学校及其已注册学生数量
    List<MajorInfo> getMajorAndCount();  //获取所有用户专业及其数量
    List<Integer> getDailyTotalUser();  //获取过去十天内每天累计用户人数
    List<Integer> getPastTenDaysLoginAccessTimes();  //获取过去十天每天登录接口的访问数，即当日活跃用户人数
    UserStatistics getUserStatistics();  //获取平台用户信息
    int getAccessTimesWithApiRoute(String apiRoute);  //获取过去十天内指定接口的总访问数
    int getCertainDayLoginAccessTimes(LocalDate date);  //获取指定日期登录接口的总访问数

}
